schm-oss-processing-sapi

(0 reviews)

OSS API 中文文档

schm-oss-processing-sapi

接口应用描述: 阿里云对象存储OSS API应用,可以进行对存储对象的读、写、修改、下载、在线预览等操作。
阿里云对象OSS的官方描述文档: https://www.aliyun.com/product/oss
DEV_URL(DEV环境请求地址): https://schm-api-dev.shiseido.cn/schm-oss-processing-sapi
UAT_URL(UAT环境请求地址): https://schm-api-test.shiseido.cn/schm-oss-processing-sapi
PROD_URL(生产环境请求地址): https://schm-api.shiseido.cn/schm-oss-processing-sapi

接口请求方式:

使用HTTP request,需要按以下要求传入Header,Request Body,Request Param等。

鉴权信息

所有请求的Header必须包含以下key-value参数作为鉴权信息,该信息需要向管理员申请。

client_id: fa98****3452
client_secret: 108b****41f2

OSS连接信息

接口可以动态连接OSS,再对所连接的OSS进行操作。连接方式为两种。

  1. 填写完整的endPoint,accessKeyId,accessKeySecret,bucketName信息,以这些信息连接到目标OSS。
  2. 提前在系统数据库中录入endPoint,accessKeyId,accessKeySecret,bucketName信息,定义好这一条数据的主键key,以这个主键key作为oss参数传入,系统自动连接。

所以在Header中传入OSS信息有两种方式。

填写完整信息:

endPoint: http****s.com
accessKeyId: LTAI****YGqY
accessKeySecret: Whn3****Hjl7
bucketName: cna****nter

填写注册好的OSS主键:

oss: mdm****nter

系统将以OSS主键key为更高优先级。

所以Header参数需要包含鉴权信息OSS连接信息

接口列表:

请求path说明
/object/list传入文件(oss object)地址前缀,返回这个地址前缀下所有文件和文件夹。
/object/get传入文件完整路径,以文本形式返回该文件内容。
/object/move传入“来源完整路径”与“目标完整路径”,将文件进行移动。由于传入的是完整路径,也可以起到重命名的功能。
/object/put将请求体中的内容写进入参(文件完整路径)所对应的文件中。如果文件不存在将创建该文件。
/object/download以流形式下载文件。
/object/upload将文件上传到指定路径中。
/object/copy传入“来源完整路径”与“目标完整路径”,将文件进行复制。
/object/delete传入文件完整路径,并将文件进行删除。

List Object

接口请求地址: /object/list
接口描述: 传入文件(oss object)地址前缀,返回这个地址前缀下所有文件和文件夹。
接口请求Method: HTTP POST

Request Header 说明:

描述参数名是否必填数据类型
需要列举的顶级目录地址pathYString
连接OSS所需accessKeyIdaccessKeyIdNString
连接OSS所需accessKeySecretaccessKeySecretNString
oss bucketbucketNString
系统中所记录的oss keyossNString

oss code 或 oss连接信息设置,必须选择一个输入。如果同时输入,则优先输入oss代码。

Request Body Description:

Field DescriptionField NameRequiredType
所需列出文件列表的顶级目录pathYString
最大返回条目maxKeysNString or Number
模糊搜索的关键词。以path参数为目录,搜索这个目录下所有子目录及文件,列举出包含模糊搜索关键词的文件条目。searchNString or Number

参数举例:

{
  "path":"MDM/MULE/"
}

由于OSS实际上是扁平化存储机制,也就是说所有文件的放置其实是没有层级结构的,仅以前缀来模拟出目录层级。

list接口实际上是列举出以path参数为前缀的所有文件,所以默认情况下,看起来会返回该目录下以及该目录的子目录下所有文件。

如果想尽返回path当前目录下的文件和文件夹,path参数以“/”结尾即可。如:"path":"MDM/MULE/BACKUP/",就会仅返回BACKUP目录下的文件和文件夹,其子目录内容不会返回。

按照文件修改时间倒序(从新到旧)排序。

返回值:

说明字段数据类型
文件和目录列表ObjectListArray
成功标识CodeString
OSS存储桶名称bucketNameString
文件或文件夹完整路径KeyString
最后修改时间 (timestamp)lastModifiedNumber
文件大小,如果返回0,代表这是个文件夹sizeString
文件名,当返回文件夹时该字段为空fileNameString
文件类型(扩展名),当返回文件夹时该字段为空fileTypeString
一个可以在线展示打开文件的链接,只有以预先注册osskey方式才会返回该字段viewPathString

返回值举例:

{
    "ObjectList": [{
            "bucketName": "cna-dev-jobcenter",
            "lastModified": 1655026866000,
            "size": 0,
            "key": "MDM/MULE/",
            "fileName": null,
            "fileType": null,
            "viewPath": null
        },
        {
            "bucketName": "cna-dev-jobcenter",
            "lastModified": 1655026882000,
            "size": 0,
            "key": "MDM/MULE/BACKUP/",
            "fileName": null,
            "fileType": null,
            "viewPath": null
        },
        {
            "bucketName": "cna-dev-jobcenter",
            "lastModified": 1665561801000,
            "size": 427,
            "key": "MDM/MULE/BACKUP/202210/4000004574_BatchMaster_20220622-142424-344.xml",
            "fileName": "4000004574_BatchMaster_20220622-142424-344.xml",
            "fileType": "xml",
            "viewPath": "https://schm-api-test.shiseido.cn/schm-oss-processing-sapi/object/view?oss=mdm&path=MDM/MULE/BACKUP/202210/4000004574_BatchMaster_20220622-142424-344.xml"
        },
        {
            "bucketName": "cna-dev-jobcenter",
            "lastModified": 1665561816000,
            "size": 435,
            "key": "MDM/MULE/BACKUP/202210/4000004574_BatchMaster_20220622-142424-357.xml",
            "fileName": "4000004574_BatchMaster_20220622-142424-357.xml",
            "fileType": "xml",
            "viewPath": "https://schm-api-test.shiseido.cn/schm-oss-processing-sapi/object/view?oss=mdm&path=MDM/MULE/BACKUP/202210/4000004574_BatchMaster_20220622-142424-357.xml"
        }
    ],
    "Code": "Success"
}

Get Object

接口请求地址: /object/get
接口描述: 传入文件完整路径,以文本形式返回该文件内容。
接口请求Method: HTTP POST

通用Header参数,无额外参数。

Request Body 说明:

描述参数名是否必填数据类型
需要获取内容的文件的完整路径pathYString

参数举例:

{
  "path":"MDM/MULE/BACKUP/202210/4000004574_BatchMaster_20220622-142424-344.xml"
}

返回值举例:

整个返回体就是文件内容

the path file content

Move Object

接口请求地址: /object/move
接口描述: 传入“来源完整路径”与“目标完整路径”,将文件进行移动。由于传入的是完整路径,也可以起到重命名的功能。
接口请求Method: HTTP POST

通用Header参数,无额外参数。

Request Body 说明:

描述参数名是否必填数据类型
移动来源完整文件路径sourceObjectYString
移动去向完整文件路径destinationObjectYString

参数举例:

{
    "sourceObject": "MDM/MULE/1000004574_BatchMaster_20220707-142424-100.xml",
    "destinationObject": "MDM/MULE/ERROR/1000004574_BatchMaster_20220707-142424-100.xml"
}

返回值:

Field DescriptionField NameType
成功标识CodeString
移动来源完整文件路径sourceObjectString
移动去向完整文件路径destinationObjectString

返回值举例:

{
    "Code": "Success",
    "SourceObject": "MDM/MULE/1000004574_BatchMaster_20220707-142424-100.xml",
    "DestinationObject": "MDM/MULE/ERROR/1000004574_BatchMaster_20220707-142424-100.xml"
}

Put Object

接口请求地址: /object/put
接口描述: 将请求体中的内容写进入参(文件完整路径)所对应的文件中。如果文件不存在将创建该文件。
接口请求Method: HTTP POST

除通用Header参数,还需:

参数描述参数名是否必填类型
需要变更的文件的完整路径pathYString

Header额外参数举例:

path: MDM/MULE/1000004574_BatchMaster_20220707-142424-100.xml

Request Body 说明:

整个请求体内容就是需要写入文件的内容文本

返回值:

说明字段数据类型
文件名(动态的文件名作为key)Array
成功标识CodeString
OSS存储桶名称bucketNameString
文件或文件夹完整路径KeyString
最后修改时间 (timestamp)lastModifiedNumber
文件大小,如果返回0,代表这是个文件夹sizeString
文件名,当返回文件夹时该字段为空fileNameString
文件类型(扩展名),当返回文件夹时该字段为空fileTypeString
一个可以在线展示打开文件的链接,只有以预先注册osskey方式才会返回该字段viewPathString

返回值举例:

{
    "MDM/MULE/BACKUP/TEST/test.file": {
        "Content-Type": "application/octet-stream",
        "Date": 1670293319000,
        "Last-Modified": 1670293319000,
        "bucketName": "cna-dev-jobcenter",
        "fileName": "test.file",
        "fileType": "file",
        "viewPath": "https://schm-api-test.shiseido.cn/schm-oss-processing-sapi/object/view?oss=mdm&path=MDM/MULE/BACKUP/TEST/test.file"
    },
    "Code": "Success"
}

Download Object

接口请求地址: /object/download
接口描述: 以流形式下载文件。
Request method: HTTP POST

通用Header参数,无额外参数。

Request Body 说明:

描述参数名是否必填数据类型
需要下载文件的完整路径pathYString

参数举例:

{
    "path": "MDM/MULE/1000004574_BatchMaster_20220707-142424-100.xml"
}

返回值:

返回文件的流,可以直接进行下载。

Uplaod Object

接口请求地址: /object/upload
接口描述: 将文件上传到指定路径中。
接口请求Method: HTTP POST multipart/form-data

通用Header参数,无额外参数。

Request Body 说明:

需要以form-data形式传参。

描述参数名是否必填数据类型
需要上传的文件,支持多个文件fileYfile
将文件上传放置的路径,所有文件都会放到这个目录里pathYString

参数举例:


path: MDM/MULE/BACKUP/TEST/

file: !file1,!file2

返回值:

说明字段数据类型
文件名(动态的文件名作为key)Object
成功标识CodeString
OSS存储桶名称bucketNameString
文件或文件夹完整路径KeyString
最后修改时间 (timestamp)lastModifiedNumber
文件大小,如果返回0,代表这是个文件夹sizeString
文件名,当返回文件夹时该字段为空fileNameString
文件类型(扩展名),当返回文件夹时该字段为空fileTypeString
一个可以在线展示打开文件的链接,只有以预先注册osskey方式才会返回该字段viewPathString

返回值举例:

{
    "MDM/MULE/BACKUP/TEST/test.file": {
        "Content-Type": "application/octet-stream",
        "Date": 1670293319000,
        "Last-Modified": 1670293319000,
        "bucketName": "cna-dev-jobcenter",
        "fileName": "test.file",
        "fileType": "file",
        "viewPath": "https://schm-api-test.shiseido.cn/schm-oss-processing-sapi/object/view?oss=mdm&path=MDM/MULE/BACKUP/TEST/test.file"
    },
    "MDM/MULE/BACKUP/TEST/test2.file": {
        "Content-Type": "application/octet-stream",
        "Date": 1670293319000,
        "Last-Modified": 1670293319000,
        "bucketName": "cna-dev-jobcenter",
        "fileName": "test2.file",
        "fileType": "file",
        "viewPath": "https://schm-api-test.shiseido.cn/schm-oss-processing-sapi/object/view?oss=mdm&path=MDM/MULE/BACKUP/TEST/test2.file"
    },
    "Code": "Success"
}

Copy Object

接口请求地址: /object/copy
接口描述: 传入“来源完整路径”与“目标完整路径”,将文件进行拷贝。
接口请求Method: HTTP POST

通用Header参数,无额外参数。

Request Body 说明:

描述参数名是否必填数据类型
复制来源完整文件路径sourceObjectYString
复制去向完整文件路径destinationObjectYString

参数举例:

{
    "sourceObject": "MDM/MULE/1000004574_BatchMaster_20220707-142424-100.xml",
    "destinationObject": "MDM/MULE/ERROR/1000004574_BatchMaster_20220707-142424-100.xml"
}

返回值:

Field DescriptionField NameType
成功标识CodeString

返回值举例:

{
    "Code": "Success"
}

Delete Object

接口请求地址: /object/delete
接口描述: 传入文件完整路径,将该文件进行删除。
接口请求Method: HTTP POST

注意:此功能无法删除文件夹,只能删除具体文件。

通用Header参数,无额外参数。

Request Body 说明:

描述参数名是否必填数据类型
需要获取内容的文件的完整路径pathYString

参数举例:

{
  "path":"MDM/MULE/BACKUP/202210/4000004574_BatchMaster_20220622-142424-344.xml"
}

返回值:

Field DescriptionField NameType
成功标识CodeString

返回值举例:

{
    "Code": "Success"
}

目前无论被删除的文件是否存在,都会返回成功。

View Object

接口请求地址: /object/view
接口描述: 接口list,put,upload等返回的viewPath,可以直接展示文件内容。
接口请求Method: HTTP GET

鉴权参数正常,oss连接方式只能使用预先在数据库中写入连接信息作为OSS Key的方式。

说明参数名是否必填类型
预先记录的OSS连接信息数据条目的主键keyossYString

示例Url

https://schm-api-test.shiseido.cn/schm-oss-processing-sapi/object/view?oss=mdm&path=MDM/MULE/BACKUP/TEST/test2.file

将会直接展示文件内容,支持pdf和图片类型等。


Reviews